package selector;

import config.FebsAuthExceptionConfigure;
import config.FebsOAuth2FeignConfigure;
import config.FebsServerProtectConfigure;
import org.springframework.context.annotation.ImportSelector;
import org.springframework.core.type.AnnotationMetadata;

/**
 * 将三个自定义注解类整合为一个
 *     @EnableFebsServerProtect，开启微服务防护，避免客户端绕过网关直接请求微服务；
 *     @EnableFebsOauth2FeignClient，开启带令牌的Feign请求，避免微服务内部调用出现401异常；
 *     @EnableFebsAuthExceptionHandler，认证类型异常翻译。
 */
public class FebsCloudApplicationSelector implements ImportSelector {

    @Override
    public String[] selectImports(AnnotationMetadata annotationMetadata) {
        return new String[]{
                FebsAuthExceptionConfigure.class.getName(),
                FebsOAuth2FeignConfigure.class.getName(),
                FebsServerProtectConfigure.class.getName()
        };
    }
}
